package mytest.datenobjekte;

import java.net.URL;
import java.util.UUID;
import java.util.Vector;

public class Frage {
	/* {author=MSatneuveel, version=1.0, since=18.11.2009} */

	/**
	 * 
	 * @element-type Antwort
	 */
	public Vector<Antwort> antworten;

	private URL bild;

	private String erklaerung;

	private int gesamtPunkte;

	private long id;
	private String text;
	public Frage(long id) {
		setId(id);
		setAntworten(new Vector<Antwort>());
	}
	public Frage(String text, String erklaerung, URL bild, int gesamtPunkte) {
		if (text == null)
			setText("Es wurde kein Text gesetzt!");
		else
			setText(text);
		if (erklaerung == null)
			setErklaerung("Es wurde keine Erklärung gesetzt!");
		else
			setErklaerung(erklaerung);
		setBild(bild);
		setGesamtpunkte(gesamtPunkte);
		setId(UUID.randomUUID().getMostSignificantBits());
		setAntworten(new Vector<Antwort>());
	}

	public Antwort getAntwort(long antwortId) {
		for(Antwort a:antworten) {
			if(a.getId()==antwortId)
				return a;
		}
		return null;
	}
	public String getText() {
		return text;
	}
	public String getErklaerung() {
		return erklaerung;
	}
	public Antwort[] getAntworten() {
		return antworten.toArray(new Antwort[0]);
	}
	
	public URL getBild() {
		return bild;
	}

	public int getAnzahlAnworten() {
		return antworten.size();
	}

	public int getGesamtpunkte() {
		return gesamtPunkte;
	}

	public long getId() {
		return id;
	}

	public void removeAntwort(long id) {
		Antwort toRemove=null;
		for(Antwort a:antworten) {
			if(a.getId()==id) {
				toRemove=a;
				break;
			}
		}
		if(toRemove!=null)
			antworten.remove(toRemove);

	}
	
	public void setAntworten(Vector<Antwort> antworten){
		this.antworten = antworten;
	}
	public void addAntwort(Antwort antwort) {
		antworten.add(antwort);
	}

	public void setGesamtpunkte(int punkte) {
		if(punkte > 0)
		this.gesamtPunkte=punkte;
	}
	public void setText(String text) {
		// TODO Auto-generated method stub
		if(text!=null)
		this.text=text;
	}
	public void setBild(URL url) {
		this.bild=url;
	}
	public void setErklaerung (String erklaerung) {
		if(erklaerung!=null)
		this.erklaerung = erklaerung;
	}
	public void setId(long id){
		this.id = id;
	}

}